Universal Serial Bus (USB) is a serial bus standard for attaching electronic peripheral devices to a host computing device. It was designed for personal computers, but its popularity has prompted it to also become commonplace on video game consoles, PDAs, portable DVD players, mobile phones, and other popular electronic devices. The goal of USB is to replace older serial and parallel ports on computers, since these were not standardized and called for a multitude of device drivers to be developed and maintained.
USB was designed to allow peripherals to be connected without the need to plug expansion cards into the computer's expansion bus and to improve plug-and-play capabilities by allowing devices to be hot-swapped, wherein devices are connected or disconnected without powering down or rebooting the computer. When a device is first connected, the host enumerates and recognizes it, and loads the device driver needed for that device.
USB can connect peripherals such as mouse devices, keyboards, scanners, digital cameras, printers, external storage devices, etc., and has become the standard connection method for many of these devices.
The Wireless Universal Serial Bus Specification, revision 1.0 (published May 12, 2005; available from the USB Implementers Forum, Inc.) describes and specifies extensions to wired USB which enable the use of wireless links in extended USB/WUSB systems. These wireless extensions to the USB specification are referred to as Certified Wireless Universal Serial Bus or simply Wireless USB (WUSB). The extensions build on existing wired USB specifications and WiMedia Alliance MAC and PHY ultra-wide-band (UWB) wireless technology.
The WUSB Specification includes descriptions and specifications of devices known as Wire Adapters (WA). These devices are wired-USB-to-Wireless-USB adapters which allow “legacy” wired USB hosts and devices to be interconnected with WUSB devices in extended USB systems containing both wired and wireless links.
There are two types of Wire Adapters: Host Wire Adapter (HWA) and Device Wire Adapter (DWA) which work in conjunction with each other. HWAs have a wired “upstream” USB port and a wireless “downstream” WUSB port, allowing a wired USB host to communicate with WUSB devices.
DWAs have a wireless “upstream” WUSB port and one or more wired “downstream” USB ports, allowing wired USB devices to communicate with a Wireless USB host.
The WUSB Specification Wire Adapter Protocol is used to transfer data through WAs and to control and manage WAs. Unfortunately, the Wire Adapter Protocol as specified in the WUSB Specification in typical situations is very inefficient, resulting in unacceptably low throughput. The inefficiency of the protocol is primarily attributable to two factors: the protocol is “chatty” in that a number of non-data messages conveying control and transfer complete status information are exchanged for each block of data transferred. In addition, the protocol does not lend itself well to “pipelining” of data flow through the system, resulting in high latency during transfer of data and therefore low throughput.
Therefore, it would be desirable to have a method for improving throughput for devices in USB systems containing both wired and wireless USB devices.